package com.edu.service.impl;



import java.util.List;

import com.edu.bean.Page;
import com.edu.bean.User;
import com.edu.dao.UserDao;
import com.edu.dao.impl.UserDaoImpl;
import com.edu.service.UserService;
	
/**
 * 用户业务逻辑层实现
 */
public class UserServiceImpl implements UserService {
    // 数据访问层对象
    private UserDao userDao = new UserDaoImpl();
    
    /**
     * 获取所有用户
     * @return 用户列表
     */
    @Override
    public Page<User> getAllUsers(User user,int pageNum,int pageSize) {
       List<User> userpage = userDao.getAllUsers(pageNum, pageSize);
       int rows = userDao.selectUsers(user);
       Page<User> page=new Page(userpage,pageNum,pageSize,rows);
       return page;
    }
    
    /**
     * 根据ID获取用户
     * @param userId 用户ID
     * @return 用户对象
     */
    @Override
    public User getUserById(int userId) {
        return userDao.getUserById(userId);
    }
    
    /**
     * 添加用户
     * @param user 用户对象
     * @return 添加结果（1表示成功，0表示失败）
     */
    @Override
    public int addUser(User user) {
        return userDao.addUser(user);
    }
    
    /**
     * 更新用户
     * @param user 用户对象
     * @return 更新结果（1表示成功，0表示失败）
     */
    @Override
    public int updateUser(User user) {
        // 业务逻辑处理：检查用户是否存在
        User existingUser = userDao.getUserById(user.getUserId());
        if (existingUser == null) {
            return 0; // 用户不存在，更新失败
        }
        
        // 调用数据访问层更新用户
        return userDao.updateUser(user);
    }
    
    /**
     * 删除用户
     * @param userId 用户ID
     * @return 删除结果（1表示成功，0表示失败）
     */
    @Override
    public int deleteUser(int userId) {
        // 业务逻辑处理：检查用户是否存在
        User existingUser = userDao.getUserById(userId);
        if (existingUser == null) {
            return 0; // 用户不存在，删除失败
        }
        
        // 调用数据访问层删除用户
        return userDao.deleteUser(userId);
    }

	@Override
	public int userAll(User user) {
		// TODO Auto-generated method stub
		return userDao.selectUsers(user);
	}
}
